package service

type LibraryService interface {

	/**
	 * @Description:  登陆，换取Token
	 * @param userId	用户学生号
	 * @param passWord	密码
	 * @return string	access_token
	 */
	Login(userId string, passWord string) string

	/**
	 * @Description: 获取某一个位置此时有哪些时间段可预约
	 * @param area 区域号
	 * @return string segment
	 */
	GetSpareTime(area string) string

	/**
	 * @Description: 获取某一个区域有哪些空闲位置
	 * @param area	区域号
	 * @return []map[string]string
	 */
	GetSpareSeat(area string) []map[string]string

	/**
	 * @Description: 预约座位
	 * @param token token
	 * @param userId 学生证号
	 * @param seatId 座位Id
	 * @param segment 预约的时间段
	 * @return bool 是否预约成功
	 */
	BookSeat(token string, userId string, seatId string, segment string) bool

	/**
	 * @Description: 邮件通知
	 * @param email 邮箱
	 * @param list 座位信息列表
	 * @param autoGrab 是否开启自动预约
	 */
	AnnounceEmail(email string, list []map[string]string, autoGrab bool)
}
